home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / formats / ps16form / music.inc < prev    next >
Text File  |  1993-04-26  |  6KB  |  169 lines

  1. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  2. ; Music .INC interface for the PS16 drivers.
  3. ;
  4. ; NOTE: This file is subject to change up until the initial release of the PS16
  5. ;       tools.
  6. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  7. Mus_Init        =       0
  8. Mus_Close    =    1
  9. Mus_PlayMusic   =       2
  10. Mus_StopMusic   =       3
  11. Mus_SpeakerOn   =       4
  12. Mus_SpeakerOff  =       5
  13. Mus_RetVoice    =       6
  14. Mus_LoadSample  =       7
  15. Mus_Poll        =       8
  16. Mus_StartSample =       9
  17. Mus_StopSample  =      10
  18. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  19. PS_NoLoop       =       0
  20. PS_Loop         =       1
  21. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  22. struc   SC
  23. ioPort        dw    ?    ; card port
  24. cardIRQ     dw    ?    ; Either DMA IRQ (SB) or GF1 IRQ (GUS)
  25. midiIRQ     dw    ?    ; GUS Only
  26. dmaChannelIn    dw    ?    ; For GUS only
  27. dmaChannelOut    dw    ?    ; SB out DMA channel
  28. mixvolseg       dw      ?       ; 4k/8k/16k volume table and 2-4k buffer.
  29. sizebuf         dw      ?       ; Size of mixing buffer.
  30. ends    SC
  31.  
  32. struc           pt_Offsets
  33. pt_doramp       dd      ?
  34. pt_volequ       dd      ?
  35. pt_SetVoice     dd      ?
  36. pt_PlayVol      dd      ?
  37. pt_PlayNote     dd      ?
  38. pt_PerNop       dd      ?
  39. pt_PerNop2      dd      ?
  40. pt_StartChannel dd      ?
  41. pt_StartOver    dd      ?
  42. pt_ExtTempo     dd      ?
  43. ends            pt_Offsets
  44. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  45. ; This structure is passed to the play music routine.
  46. ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒
  47. struc           PM
  48. stereoOn        db      0 ; I   ; 0-Off, 1-On
  49. SamplingRate    dw      0 ; I   ; Current sampling rate.  Ignore on GUS.
  50. MStatus         db      0 ;  O  ; Music status (0=Playing, 1=Stop/Stopped)
  51. MaxVolume       db    240 ; IO  ; Max volume of song.
  52. SongLen         db      0 ; I   ; Length of song, from PS16Header.
  53. NumChannels     dw      4 ; I   ; Number of module channels (MOD - 4).
  54. MaxChannels     dw      4 ; I   ; Maximum channels to mix.
  55. CallsPerSec     dw     70 ; I   ; Times mixer will be called(>50).Ignore on GUS.
  56. TruePanning     db      1 ; I   ; Turns on balanced left/right panning (1-On)
  57. SequencesLoc    dd      0 ; I   ; Location of sequences, in PS16Header.
  58. SamplesLoc      dd      0 ; I   ; Location of sample structures, in PS16Header.
  59. InsLoc          dd      0 ; I   ; Location of samples in RAM/DRAM.
  60. PatternsLoc     dd      0 ; I   ; Location of the patterns segments.
  61. ChannelsLoc     dd      0 ; I   ; Location of channel MS structs = NumChannels.
  62.                 ;  Protracker specific stuff.
  63. mt_speed        db      6 ; IO  ; Current speed (Cmd F).
  64. mt_counter      db      0 ; IO  ; Current counter.
  65. mt_SongPos      db      0 ; IO  ; Current song position.
  66. mt_PatternPos   dw      0 ; IO  ; Current pattern position.
  67. mt_PatternPosSeg dw     0 ; I   ; Location of 3k pattern decompression buffer.
  68. mt_SavePPos     dw      0 ;  O  ; Actual pattern position aligned to 48.
  69. mt_PlayStatus   db      0 ; IO  ; Current playing status (0-Quit music at end).
  70.                                 ;                        (1-Loop music).
  71. mt_EditPat      dw      0 ;  O  ; Current editing pattern.
  72. mt_EditSeg      dw      0 ;  O  ; Current editing segment.
  73. mt_EditOfs      dw      0 ;  O  ; Current editing offset.
  74. mt_PeriodTable  dd      0 ;  O  ; Location of the Period Table.
  75. ends            PM
  76.  
  77. struc    CD
  78. sofs        dw    ?
  79. sseg        dw    ?
  80. srepeat     dw    ?
  81. sreplen     dw    ?
  82. slen        dw    ?
  83. sRemainder      dw      ?
  84. sStep           dw      ?
  85. sOffsetR        dw      ?
  86. sLoopEnd        dw      ?
  87. svol            db      ?
  88. sactive         db      ?
  89. sspeaker        dw      ?
  90. ends    CD
  91.  
  92. struc   PS16Sample
  93. bitstruc        db      ?
  94.                 ; 7 6 5 4 3 2 1 0
  95.                 ;         │ │ │ └─ 0 - Digital, 1 - Synthesized
  96.                 ;         │ │ └─── (if bit 0=1) 0 - FM, 1 - Waveform
  97.                 ;         │ └───── 0 - 8-bit, 1 - 16-bit.
  98.                 ;         └─────── 0 - Signed, 1 - Unsigned
  99. volume          db      ?
  100. finetune        db      ?
  101. length          dd      ?
  102. repeat          dd      ?
  103. replen          dd      ?
  104. c2freq          dw      ?
  105. ends    PS16Sample
  106.  
  107. struc   PS16Header
  108. Sig             db      5 dup (0)
  109. SongName        db      75 dup (0)
  110. TypeOfFile      db      0       ; 0 - Module, 1 - Song
  111. commentofs      dd      0
  112. sversion        db      0
  113. numpatterns     db      0
  114. totalPatternSize dd     0
  115. SongLen         db      0
  116. Sequences       db      128 dup (0)
  117. Samples         db      31*size PS16Sample dup (0)
  118. ends    PS16Header
  119.  
  120.  
  121. ;│ Original Amiga equates by Lars "Zap" Hamre.  Converted to IBM structure   │
  122. ;│ by Joshua C. Jensen.                                                      │
  123. struc           MS
  124. note            db      0
  125. cmd             db      0
  126. cmdlo           db      0
  127. start           dd      0
  128. length          dd      0
  129. loopstart       dd      0
  130. replen          dd      0
  131. period          dw      0
  132. volume          db      0
  133. finetune        db      0
  134. toneportdirec   db      0
  135. toneportspeed   db      0
  136. wantedperiod    dw      0
  137. vibratocmd      db      0
  138. vibratopos      db      0
  139. tremolocmd      db      0
  140. tremolopos      db      0
  141. wavecontrol     db      0
  142. glissfunk       db      0
  143. sampleoffset    db      0
  144. pattpos         db      0
  145. loopcount       db      0
  146. funkoffset      db      0
  147. wavestart       dd      0
  148. reallength      dw      0
  149. MasterVolume    db      0
  150. SampleNum       db      0
  151. sc_Mode         db      0
  152. sc_PanPosition  db      0
  153. sc_Voice        db      0
  154. sc_Vol          dw      0
  155. sc_Note         dw      0
  156. sc_Repeat       dw      0
  157. sc_Replen       dw      0
  158. DecVolume       db      0
  159. ends            MS
  160.  
  161. segment         PTSeg
  162. ends            PTSeg
  163.  
  164. segment         GUSSeg
  165. ends            GUSSeg
  166.  
  167. segment         SBSeg
  168. ends            SBSeg
  169.